功耗调整指引

Version 1.0


1. 打开/关闭 组件


1.1. 可选的组件

在Infinity-2m上可选使能的组件有 : Analog PowerETHUSB


1.2. Analog Power

可以依据不同应用场景将没用到的仿真电路电源关闭达到节能目标

  • 可开关的项目

    可调整项目有:

    Audio/EMAC/HDMI ATOP/IDAC ATOP/IDAC LPLL/DISP LPLL/MIPI DPHY TX TOP/SATA ATOP/UPLL 0,1/USB20 P1,P2,P3

    对应kernel的config如下,需要关闭置为y即可

    # CONFIG_ANALOG_PD_AUDIO is not set
    
    # CONFIG_ANALOG_PD_EMAC is not set
    
    CONFIG_ANALOG_PD_HDMI_ATOP=y
    
    CONFIG_ANALOG_PD_IDAC_ATOP=y
    
    CONFIG_ANALOG_PD_IDAC_LPLL=y
    
    # CONFIG_ANALOG_PD_DISP_LPLL is not set
    
    # CONFIG_ANALOG_PD_MIPI_DPHY_TX_TOP is not set
    
    CONFIG_ANALOG_PD_SATA_ATOP=y
    
    # CONFIG_ANALOG_PD_UPLL_0 is not set
    
    # CONFIG_ANALOG_PD_UPLL_1 is not set
    
    # CONFIG_ANALOG_PD_USB20_P1 is not set
    
    # CONFIG_ANALOG_PD_USB20_P2 is not set
    
    # CONFIG_ANALOG_PD_USB20_P3 is not set
    

    注:如果是MIPI panel则不能选上MIPI_DPHY


1.3. ETH

需要在U-Boot及Linux Kernel进行调整才能完全关闭该组件

1.3.1. 调整U-Boot

  • 取消MSTAR EMAC的选项

1.3.2. 调整Linux Kernel

  • Step1.取消EMAC的选项

  • Step2. 取消Networking support的选项


1.4. USB

需要在U-Boot及Linux Kernel进行调整才能完全关闭该组件

1.4.1. 调整U-Boot

  • 取消MSTAR USB的选项

1.4.2. 调整Linux Kernel

  • 修改文件linux-4.9/arch/arm/boot/dts/infinity2m.dtsi (调整status = “disable”来关闭USB)


2. 组件时钟频率配置


2.1. CPU 时钟频率配置

2.1.1. Voltage scaling 配置

  • 提供voltage scaling的切换,预设是关闭。可通过如下命令设置开启该配置。

    echo 1 > /sys/devices/system/cpu/cpufreq/scaling_voltage
    
  • 该配置开启后,系统会自动针对目前的温度(T)来进行voltage的切换。切换策略如下:

    T > 60C : VDD= 0.9V
    
    T < 40C : VDD = 1.0V
    

2.1.2. Clock scaling 配置

  • 提供clock scaling范围的设置,可通过入下命令设置clock scaling的范围。

    echo s_min > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq    (default 1GHz)
    
    echo s_max > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq    (default 1GHz)
    

    (note: s_min, s_max 单位是 khz)

  • 设置约束:

    1. s_min必须小于等于s_max

    2. s_min必须大于等于/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq

    3. s_max必须小于等于/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq


2.2. 编码时钟频率配置

2.2.1. 编码器配置示例

在mhal.ko加载之后,开启视频处理任务之前,即可通过如下命令设置相关频率:

  • 读取目前的isp clock rate,可通过以下命令取得

    cat /sys/venc/ven_clock
    
  • 设置venc clock rate,可通过以下命令设置

    echo 384000000 > /sys/venc/ven_clock
    

2.2.2. 编码器时钟频率档位

JPE 的clock default:320M

  • 216000000

  • 288000000

  • 320000000

2.2.3. 约束

以上的设置应该在模块加载时设置,才能正确的生效。


2.3. 观察cpu的温度

cat /sys/devices/virtual/mstar/msys/TEMP_R

结果仅供参考,因为误差可以达到5摄氏度。